package proyectoX.src.armas;

import java.awt.Point;

import proyectoX.src.aplicacion.Nivel;
import proyectoX.src.municiones.MunicionLaser;
import proyectoX.src.municiones.MunicionLaserGrande;
import proyectoX.src.municiones.MunicionLaserMediano;
import proyectoX.src.municiones.MunicionX;

/**
 * Láser utilizado por la nave Grande.
 *
 */
public class laserGrande extends laser{
	

	/**
	 * Crea el arma con el nivel pasado por parámetro.
	 * @param n Nivel actual.
	 */
	public laserGrande( Nivel n){
		super(-1,4,n);  //municiones = -1 para indicar que es INFINITO		
	}

	/**
	 * Crea un disparo con una posición relativa a la pasada por parámetro.
	 * 
	 * @param location Lugar a partir del cuál se decidirá la posición del láser disparado.
	 */
	public void disparar(Point location){
		if (pasoDelay()) {
			tiempoUltimoDisparo = System.currentTimeMillis();
			
			switch (nivelPoder) {
				
			case 1: {
				MunicionX m= new MunicionLaserMediano(location.x+14,location.y-17,this,nivel);						
				nivel.agregarMunicion(m);
				break;
			}
			case 2: {
				MunicionX m1= new MunicionLaserGrande(location.x-5,location.y-24,this,nivel);						
		        nivel.agregarMunicion(m1);
				break;
			}
			case 3: {
				MunicionX m1= new MunicionLaserGrande(location.x+30,location.y-25,this,nivel);						
				MunicionX m2= new MunicionLaserGrande(location.x-35,location.y-25,this,nivel);						
		        nivel.agregarMunicion(m1);
				nivel.agregarMunicion(m2);
				break;
			}
			}
		}
	}
	
	
	
}
